package cn.cool.middleware.biz_exception_retry.types.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface BizWithResult {
    /** 是否开启基于结果重试 */
    boolean open() default true;

    /** result 匹配值的 key，使用.分割，每一个.表示一个层级 */
    String key() default ".";

    /** 如果 result对应的 key 的字段值在 values中，那么则进行补偿 */
    String[] value() default {};
}
